<!-- HTML header for doxygen 1.8.6-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<title>OpenCV: Stereo Correspondence</title>
<link href="../../opencv.ico" rel="shortcut icon" type="image/x-icon" />
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<script type="text/javascript" src="../../tutorial-utils.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
//<![CDATA[
MathJax.Hub.Config(
{
  TeX: {
      Macros: {
          matTT: [ "\\[ \\left|\\begin{array}{ccc} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \\end{array}\\right| \\]", 9],
          fork: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ \\end{array} \\right.", 4],
          forkthree: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ #5 & \\mbox{#6}\\\\ \\end{array} \\right.", 6],
          forkfour: ["\\left\\{ \\begin{array}{l l} #1 & \\mbox{#2}\\\\ #3 & \\mbox{#4}\\\\ #5 & \\mbox{#6}\\\\ #7 & \\mbox{#8}\\\\ \\end{array} \\right.", 8],
          vecthree: ["\\begin{bmatrix} #1\\\\ #2\\\\ #3 \\end{bmatrix}", 3],
          vecthreethree: ["\\begin{bmatrix} #1 & #2 & #3\\\\ #4 & #5 & #6\\\\ #7 & #8 & #9 \\end{bmatrix}", 9],
          cameramatrix: ["#1 = \\begin{bmatrix} f_x & 0 & c_x\\\\ 0 & f_y & c_y\\\\ 0 & 0 & 1 \\end{bmatrix}", 1],
          distcoeffs: ["(k_1, k_2, p_1, p_2[, k_3[, k_4, k_5, k_6 [, s_1, s_2, s_3, s_4[, \\tau_x, \\tau_y]]]]) \\text{ of 4, 5, 8, 12 or 14 elements}"],
          distcoeffsfisheye: ["(k_1, k_2, k_3, k_4)"],
          hdotsfor: ["\\dots", 1],
          mathbbm: ["\\mathbb{#1}", 1],
          bordermatrix: ["\\matrix{#1}", 1]
      }
  }
}
);
//]]>
</script><script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
<link href="../../stylesheet.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<!--#include virtual="/google-search.html"-->
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="../../opencv-logo-small.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">OpenCV
   &#160;<span id="projectnumber">4.5.2</span>
   </div>
   <div id="projectbrief">Open Source Computer Vision</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('../../',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Stereo Correspondence<div class="ingroups"><a class="el" href="../../d1/d1e/group__cuda.html">CUDA-accelerated Computer Vision</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d4f/classcv_1_1cuda_1_1DisparityBilateralFilter.html">cv::cuda::DisparityBilateralFilter</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class refining a disparity map using joint bilateral filtering. :  <a href="../../d8/d4f/classcv_1_1cuda_1_1DisparityBilateralFilter.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d7a/classcv_1_1cuda_1_1StereoBeliefPropagation.html">cv::cuda::StereoBeliefPropagation</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class computing stereo correspondence using the belief propagation algorithm. :  <a href="../../de/d7a/classcv_1_1cuda_1_1StereoBeliefPropagation.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d8a/classcv_1_1cuda_1_1StereoBM.html">cv::cuda::StereoBM</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class computing stereo correspondence (disparity map) using the block matching algorithm. :  <a href="../../db/d8a/classcv_1_1cuda_1_1StereoBM.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d09/classcv_1_1cuda_1_1StereoConstantSpaceBP.html">cv::cuda::StereoConstantSpaceBP</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class computing stereo correspondence using the constant space belief propagation algorithm. :  <a href="../../d7/d09/classcv_1_1cuda_1_1StereoConstantSpaceBP.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/ddc/classcv_1_1cuda_1_1StereoSGM.html">cv::cuda::StereoSGM</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">The class implements the modified H. Hirschmuller algorithm <a class="el" href="../../d0/de3/citelist.html#CITEREF_HH08">[112]</a>. Limitation and difference are as follows:  <a href="../../d1/ddc/classcv_1_1cuda_1_1StereoSGM.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gaafb5f9902f7a9e74cb2cd4e680569590"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../d8/d4f/classcv_1_1cuda_1_1DisparityBilateralFilter.html">cuda::DisparityBilateralFilter</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d47/group__cudastereo.html#gaafb5f9902f7a9e74cb2cd4e680569590">cv::cuda::createDisparityBilateralFilter</a> (int ndisp=64, int radius=3, int iters=1)</td></tr>
<tr class="memdesc:gaafb5f9902f7a9e74cb2cd4e680569590"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates <a class="el" href="../../d8/d4f/classcv_1_1cuda_1_1DisparityBilateralFilter.html" title="Class refining a disparity map using joint bilateral filtering. : ">DisparityBilateralFilter</a> object.  <a href="../../dd/d47/group__cudastereo.html#gaafb5f9902f7a9e74cb2cd4e680569590">More...</a><br /></td></tr>
<tr class="separator:gaafb5f9902f7a9e74cb2cd4e680569590"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8d22dd80bdfb4e3d7d2ac09e8a07c22b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../de/d7a/classcv_1_1cuda_1_1StereoBeliefPropagation.html">cuda::StereoBeliefPropagation</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d47/group__cudastereo.html#ga8d22dd80bdfb4e3d7d2ac09e8a07c22b">cv::cuda::createStereoBeliefPropagation</a> (int ndisp=64, int iters=5, int levels=5, int msg_type=<a class="el" href="../../d1/d1b/group__core__hal__interface.html#ga4a3def5d72b74bed31f5f8ab7676099c">CV_32F</a>)</td></tr>
<tr class="memdesc:ga8d22dd80bdfb4e3d7d2ac09e8a07c22b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates <a class="el" href="../../de/d7a/classcv_1_1cuda_1_1StereoBeliefPropagation.html" title="Class computing stereo correspondence using the belief propagation algorithm. : ">StereoBeliefPropagation</a> object.  <a href="../../dd/d47/group__cudastereo.html#ga8d22dd80bdfb4e3d7d2ac09e8a07c22b">More...</a><br /></td></tr>
<tr class="separator:ga8d22dd80bdfb4e3d7d2ac09e8a07c22b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga77edc901350dd0a7f46ec5aca4138039"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../db/d8a/classcv_1_1cuda_1_1StereoBM.html">cuda::StereoBM</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d47/group__cudastereo.html#ga77edc901350dd0a7f46ec5aca4138039">cv::cuda::createStereoBM</a> (int numDisparities=64, int blockSize=19)</td></tr>
<tr class="memdesc:ga77edc901350dd0a7f46ec5aca4138039"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates <a class="el" href="../../db/d8a/classcv_1_1cuda_1_1StereoBM.html" title="Class computing stereo correspondence (disparity map) using the block matching algorithm. : ">StereoBM</a> object.  <a href="../../dd/d47/group__cudastereo.html#ga77edc901350dd0a7f46ec5aca4138039">More...</a><br /></td></tr>
<tr class="separator:ga77edc901350dd0a7f46ec5aca4138039"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaec3b49c7cf9f7701a6f549a227be4df2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../d7/d09/classcv_1_1cuda_1_1StereoConstantSpaceBP.html">cuda::StereoConstantSpaceBP</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d47/group__cudastereo.html#gaec3b49c7cf9f7701a6f549a227be4df2">cv::cuda::createStereoConstantSpaceBP</a> (int ndisp=128, int iters=8, int levels=4, int nr_plane=4, int msg_type=<a class="el" href="../../d1/d1b/group__core__hal__interface.html#ga4a3def5d72b74bed31f5f8ab7676099c">CV_32F</a>)</td></tr>
<tr class="memdesc:gaec3b49c7cf9f7701a6f549a227be4df2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates <a class="el" href="../../d7/d09/classcv_1_1cuda_1_1StereoConstantSpaceBP.html" title="Class computing stereo correspondence using the constant space belief propagation algorithm...">StereoConstantSpaceBP</a> object.  <a href="../../dd/d47/group__cudastereo.html#gaec3b49c7cf9f7701a6f549a227be4df2">More...</a><br /></td></tr>
<tr class="separator:gaec3b49c7cf9f7701a6f549a227be4df2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafb7e5284de5f488d664c3155acb12c93"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt; <a class="el" href="../../d1/ddc/classcv_1_1cuda_1_1StereoSGM.html">cuda::StereoSGM</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d47/group__cudastereo.html#gafb7e5284de5f488d664c3155acb12c93">cv::cuda::createStereoSGM</a> (int minDisparity=0, int numDisparities=128, int P1=10, int P2=120, int uniquenessRatio=5, int mode=<a class="el" href="../../d2/d85/classcv_1_1StereoSGBM.html#a74120f5b7739495309c57f2da1c3e8cca2bb93a960b8709039f81d7027b928559">cv::cuda::StereoSGM::MODE_HH4</a>)</td></tr>
<tr class="memdesc:gafb7e5284de5f488d664c3155acb12c93"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates <a class="el" href="../../d1/ddc/classcv_1_1cuda_1_1StereoSGM.html" title="The class implements the modified H. Hirschmuller algorithm . Limitation and difference are as follow...">StereoSGM</a> object.  <a href="../../dd/d47/group__cudastereo.html#gafb7e5284de5f488d664c3155acb12c93">More...</a><br /></td></tr>
<tr class="separator:gafb7e5284de5f488d664c3155acb12c93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga469b23a77938dd7c06861e59cecc08c5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d47/group__cudastereo.html#ga469b23a77938dd7c06861e59cecc08c5">cv::cuda::drawColorDisp</a> (<a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> src_disp, <a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> dst_disp, int ndisp, <a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html">Stream</a> &amp;stream=<a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html#a680af5adfeeb1cdaa5b7b13f680c0131">Stream::Null</a>())</td></tr>
<tr class="memdesc:ga469b23a77938dd7c06861e59cecc08c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Colors a disparity image.  <a href="../../dd/d47/group__cudastereo.html#ga469b23a77938dd7c06861e59cecc08c5">More...</a><br /></td></tr>
<tr class="separator:ga469b23a77938dd7c06861e59cecc08c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaff851e3932da0f3e74d1be1d8855f094"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d47/group__cudastereo.html#gaff851e3932da0f3e74d1be1d8855f094">cv::cuda::reprojectImageTo3D</a> (<a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> disp, <a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a> xyzw, <a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a> Q, int dst_cn=4, <a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html">Stream</a> &amp;stream=<a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html#a680af5adfeeb1cdaa5b7b13f680c0131">Stream::Null</a>())</td></tr>
<tr class="memdesc:gaff851e3932da0f3e74d1be1d8855f094"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reprojects a disparity image to 3D space.  <a href="../../dd/d47/group__cudastereo.html#gaff851e3932da0f3e74d1be1d8855f094">More...</a><br /></td></tr>
<tr class="separator:gaff851e3932da0f3e74d1be1d8855f094"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Function Documentation</h2>
<a id="gaafb5f9902f7a9e74cb2cd4e680569590"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaafb5f9902f7a9e74cb2cd4e680569590">&#9670;&nbsp;</a></span>createDisparityBilateralFilter()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt;<a class="el" href="../../d8/d4f/classcv_1_1cuda_1_1DisparityBilateralFilter.html">cuda::DisparityBilateralFilter</a>&gt; cv::cuda::createDisparityBilateralFilter </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>ndisp</em> = <code>64</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>radius</em> = <code>3</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>iters</em> = <code>1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="../../d8/d60/cudastereo_8hpp.html">opencv2/cudastereo.hpp</a>&gt;</code></p>

<p>Creates <a class="el" href="../../d8/d4f/classcv_1_1cuda_1_1DisparityBilateralFilter.html" title="Class refining a disparity map using joint bilateral filtering. : ">DisparityBilateralFilter</a> object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ndisp</td><td>Number of disparities. </td></tr>
    <tr><td class="paramname">radius</td><td><a class="el" href="../../dc/d2b/classcv_1_1cuda_1_1Filter.html" title="Common interface for all CUDA filters : ">Filter</a> radius. </td></tr>
    <tr><td class="paramname">iters</td><td>Number of iterations. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga8d22dd80bdfb4e3d7d2ac09e8a07c22b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8d22dd80bdfb4e3d7d2ac09e8a07c22b">&#9670;&nbsp;</a></span>createStereoBeliefPropagation()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt;<a class="el" href="../../de/d7a/classcv_1_1cuda_1_1StereoBeliefPropagation.html">cuda::StereoBeliefPropagation</a>&gt; cv::cuda::createStereoBeliefPropagation </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>ndisp</em> = <code>64</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>iters</em> = <code>5</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>levels</em> = <code>5</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>msg_type</em> = <code><a class="el" href="../../d1/d1b/group__core__hal__interface.html#ga4a3def5d72b74bed31f5f8ab7676099c">CV_32F</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="../../d8/d60/cudastereo_8hpp.html">opencv2/cudastereo.hpp</a>&gt;</code></p>

<p>Creates <a class="el" href="../../de/d7a/classcv_1_1cuda_1_1StereoBeliefPropagation.html" title="Class computing stereo correspondence using the belief propagation algorithm. : ">StereoBeliefPropagation</a> object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ndisp</td><td>Number of disparities. </td></tr>
    <tr><td class="paramname">iters</td><td>Number of BP iterations on each level. </td></tr>
    <tr><td class="paramname">levels</td><td>Number of levels. </td></tr>
    <tr><td class="paramname">msg_type</td><td>Type for messages. CV_16SC1 and CV_32FC1 types are supported. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga77edc901350dd0a7f46ec5aca4138039"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga77edc901350dd0a7f46ec5aca4138039">&#9670;&nbsp;</a></span>createStereoBM()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt;<a class="el" href="../../db/d8a/classcv_1_1cuda_1_1StereoBM.html">cuda::StereoBM</a>&gt; cv::cuda::createStereoBM </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numDisparities</em> = <code>64</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>blockSize</em> = <code>19</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="../../d8/d60/cudastereo_8hpp.html">opencv2/cudastereo.hpp</a>&gt;</code></p>

<p>Creates <a class="el" href="../../db/d8a/classcv_1_1cuda_1_1StereoBM.html" title="Class computing stereo correspondence (disparity map) using the block matching algorithm. : ">StereoBM</a> object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">numDisparities</td><td>the disparity search range. For each pixel algorithm will find the best disparity from 0 (default minimum disparity) to numDisparities. The search range can then be shifted by changing the minimum disparity. </td></tr>
    <tr><td class="paramname">blockSize</td><td>the linear size of the blocks compared by the algorithm. The size should be odd (as the block is centered at the current pixel). Larger block size implies smoother, though less accurate disparity map. Smaller block size gives more detailed disparity map, but there is higher chance for algorithm to find a wrong correspondence. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gaec3b49c7cf9f7701a6f549a227be4df2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaec3b49c7cf9f7701a6f549a227be4df2">&#9670;&nbsp;</a></span>createStereoConstantSpaceBP()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt;<a class="el" href="../../d7/d09/classcv_1_1cuda_1_1StereoConstantSpaceBP.html">cuda::StereoConstantSpaceBP</a>&gt; cv::cuda::createStereoConstantSpaceBP </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>ndisp</em> = <code>128</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>iters</em> = <code>8</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>levels</em> = <code>4</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nr_plane</em> = <code>4</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>msg_type</em> = <code><a class="el" href="../../d1/d1b/group__core__hal__interface.html#ga4a3def5d72b74bed31f5f8ab7676099c">CV_32F</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="../../d8/d60/cudastereo_8hpp.html">opencv2/cudastereo.hpp</a>&gt;</code></p>

<p>Creates <a class="el" href="../../d7/d09/classcv_1_1cuda_1_1StereoConstantSpaceBP.html" title="Class computing stereo correspondence using the constant space belief propagation algorithm...">StereoConstantSpaceBP</a> object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ndisp</td><td>Number of disparities. </td></tr>
    <tr><td class="paramname">iters</td><td>Number of BP iterations on each level. </td></tr>
    <tr><td class="paramname">levels</td><td>Number of levels. </td></tr>
    <tr><td class="paramname">nr_plane</td><td>Number of disparity levels on the first level. </td></tr>
    <tr><td class="paramname">msg_type</td><td>Type for messages. CV_16SC1 and CV_32FC1 types are supported. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gafb7e5284de5f488d664c3155acb12c93"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafb7e5284de5f488d664c3155acb12c93">&#9670;&nbsp;</a></span>createStereoSGM()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="../../dc/d84/group__core__basic.html#ga6395ca871a678020c4a31fadf7e8cc63">Ptr</a>&lt;<a class="el" href="../../d1/ddc/classcv_1_1cuda_1_1StereoSGM.html">cuda::StereoSGM</a>&gt; cv::cuda::createStereoSGM </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>minDisparity</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numDisparities</em> = <code>128</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>P1</em> = <code>10</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>P2</em> = <code>120</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>uniquenessRatio</em> = <code>5</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>mode</em> = <code><a class="el" href="../../d2/d85/classcv_1_1StereoSGBM.html#a74120f5b7739495309c57f2da1c3e8cca2bb93a960b8709039f81d7027b928559">cv::cuda::StereoSGM::MODE_HH4</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="../../d8/d60/cudastereo_8hpp.html">opencv2/cudastereo.hpp</a>&gt;</code></p>

<p>Creates <a class="el" href="../../d1/ddc/classcv_1_1cuda_1_1StereoSGM.html" title="The class implements the modified H. Hirschmuller algorithm . Limitation and difference are as follow...">StereoSGM</a> object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">minDisparity</td><td>Minimum possible disparity value. Normally, it is zero but sometimes rectification algorithms can shift images, so this parameter needs to be adjusted accordingly. </td></tr>
    <tr><td class="paramname">numDisparities</td><td>Maximum disparity minus minimum disparity. The value must be 64, 128 or 256. </td></tr>
    <tr><td class="paramname">P1</td><td>The first parameter controlling the disparity smoothness.This parameter is used for the case of slanted surfaces (not fronto parallel). </td></tr>
    <tr><td class="paramname">P2</td><td>The second parameter controlling the disparity smoothness.This parameter is used for "solving" the depth discontinuities problem. </td></tr>
    <tr><td class="paramname">uniquenessRatio</td><td>Margin in percentage by which the best (minimum) computed cost function value should "win" the second best value to consider the found match correct. Normally, a value within the 5-15 range is good enough. </td></tr>
    <tr><td class="paramname">mode</td><td>Set it to <a class="el" href="../../d2/d85/classcv_1_1StereoSGBM.html#a74120f5b7739495309c57f2da1c3e8cca0f746667febe92e1189e924c40752660">StereoSGM::MODE_HH</a> to run the full-scale two-pass dynamic programming algorithm. It will consume O(W*H*numDisparities) bytes. By default, it is set to <a class="el" href="../../d2/d85/classcv_1_1StereoSGBM.html#a74120f5b7739495309c57f2da1c3e8cca2bb93a960b8709039f81d7027b928559">StereoSGM::MODE_HH4</a>. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga469b23a77938dd7c06861e59cecc08c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga469b23a77938dd7c06861e59cecc08c5">&#9670;&nbsp;</a></span>drawColorDisp()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void cv::cuda::drawColorDisp </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a>&#160;</td>
          <td class="paramname"><em>src_disp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a>&#160;</td>
          <td class="paramname"><em>dst_disp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>ndisp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html">Stream</a> &amp;&#160;</td>
          <td class="paramname"><em>stream</em> = <code><a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html#a680af5adfeeb1cdaa5b7b13f680c0131">Stream::Null</a>()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="../../d8/d60/cudastereo_8hpp.html">opencv2/cudastereo.hpp</a>&gt;</code></p>

<p>Colors a disparity image. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">src_disp</td><td>Input single-channel 8-bit unsigned, 16-bit signed, 32-bit signed or 32-bit floating-point disparity image. If 16-bit signed format is used, the values are assumed to have no fractional bits. </td></tr>
    <tr><td class="paramname">dst_disp</td><td>Output disparity image. It has the same size as src_disp. The type is CV_8UC4 in BGRA format (alpha = 255). </td></tr>
    <tr><td class="paramname">ndisp</td><td>Number of disparities. </td></tr>
    <tr><td class="paramname">stream</td><td><a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html" title="This class encapsulates a queue of asynchronous calls. ">Stream</a> for the asynchronous version.</td></tr>
  </table>
  </dd>
</dl>
<p>This function draws a colored disparity map by converting disparity values from [0..ndisp) interval first to HSV color space (where different disparity values correspond to different hues) and then converting the pixels to RGB for visualization. </p>

</div>
</div>
<a id="gaff851e3932da0f3e74d1be1d8855f094"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaff851e3932da0f3e74d1be1d8855f094">&#9670;&nbsp;</a></span>reprojectImageTo3D()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void cv::cuda::reprojectImageTo3D </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a>&#160;</td>
          <td class="paramname"><em>disp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#gaad17fda1d0f0d1ee069aebb1df2913c0">OutputArray</a>&#160;</td>
          <td class="paramname"><em>xyzw</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../dc/d84/group__core__basic.html#ga353a9de602fe76c709e12074a6f362ba">InputArray</a>&#160;</td>
          <td class="paramname"><em>Q</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>dst_cn</em> = <code>4</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html">Stream</a> &amp;&#160;</td>
          <td class="paramname"><em>stream</em> = <code><a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html#a680af5adfeeb1cdaa5b7b13f680c0131">Stream::Null</a>()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><code>#include &lt;<a class="el" href="../../d8/d60/cudastereo_8hpp.html">opencv2/cudastereo.hpp</a>&gt;</code></p>

<p>Reprojects a disparity image to 3D space. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">disp</td><td>Input single-channel 8-bit unsigned, 16-bit signed, 32-bit signed or 32-bit floating-point disparity image. If 16-bit signed format is used, the values are assumed to have no fractional bits. </td></tr>
    <tr><td class="paramname">xyzw</td><td>Output 3- or 4-channel floating-point image of the same size as disp . Each element of xyzw(x,y) contains 3D coordinates (x,y,z) or (x,y,z,1) of the point (x,y) , computed from the disparity map. </td></tr>
    <tr><td class="paramname">Q</td><td>\(4 \times 4\) perspective transformation matrix that can be obtained via stereoRectify . </td></tr>
    <tr><td class="paramname">dst_cn</td><td>The number of channels for output image. Can be 3 or 4. </td></tr>
    <tr><td class="paramname">stream</td><td><a class="el" href="../../d9/df3/classcv_1_1cuda_1_1Stream.html" title="This class encapsulates a queue of asynchronous calls. ">Stream</a> for the asynchronous version.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../dd/d47/group__cudastereo.html#gaff851e3932da0f3e74d1be1d8855f094" title="Reprojects a disparity image to 3D space. ">reprojectImageTo3D</a> </dd></dl>

</div>
</div>
</div><!-- contents -->
<!-- HTML footer for doxygen 1.8.6-->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Apr 2 2021 11:36:41 for OpenCV by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
<script type="text/javascript">
//<![CDATA[
addTutorialsButtons();
//]]>
</script>
</body>
</html>
